[INFO] cloning repository https://github.com/Vawheter/SimpleZKCP
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Vawheter/SimpleZKCP" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVawheter%2FSimpleZKCP", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVawheter%2FSimpleZKCP'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 96aa4a1c2b0e1e7d432510a48ef6f6a635b70463
[INFO] building Vawheter/SimpleZKCP against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVawheter%2FSimpleZKCP" "/workspace/builds/worker-14/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Vawheter/SimpleZKCP on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Vawheter/SimpleZKCP
[INFO] finished tweaking git repo https://github.com/Vawheter/SimpleZKCP
[INFO] tweaked toml for git repo https://github.com/Vawheter/SimpleZKCP written to /workspace/builds/worker-14/source/Cargo.toml
[INFO] crate git repo https://github.com/Vawheter/SimpleZKCP already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a077145a9f211f7402e272b9c2919ab98749ff51f5573cf303077513fa32c26c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a077145a9f211f7402e272b9c2919ab98749ff51f5573cf303077513fa32c26c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a077145a9f211f7402e272b9c2919ab98749ff51f5573cf303077513fa32c26c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a077145a9f211f7402e272b9c2919ab98749ff51f5573cf303077513fa32c26c", kill_on_drop: false }`
[INFO] [stdout] a077145a9f211f7402e272b9c2919ab98749ff51f5573cf303077513fa32c26c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f948f9720f8600dd00afd916b91c7ed135a963f646b07e1d97c60af99325bb65
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f948f9720f8600dd00afd916b91c7ed135a963f646b07e1d97c60af99325bb65", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.74
[INFO] [stderr]    Compiling gcc v0.3.21
[INFO] [stderr]    Compiling winapi v0.2.5
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling libc v0.1.12
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling byteorder v0.3.13
[INFO] [stderr]    Compiling thread-scoped v1.0.1
[INFO] [stderr]    Compiling hex v0.1.0
[INFO] [stderr]    Compiling fixedbitset v0.1.0
[INFO] [stderr]    Compiling whiteread v0.2.0
[INFO] [stderr]    Compiling advapi32-sys v0.1.2
[INFO] [stderr]    Compiling kernel32-sys v0.2.1
[INFO] [stderr]    Compiling encoding v0.2.32
[INFO] [stderr]    Compiling bzip2-sys v0.1.3
[INFO] [stderr]    Compiling miniz-sys v0.1.7
[INFO] [stderr]    Compiling rust-crypto v0.2.34
[INFO] [stderr]    Compiling rand v0.3.12
[INFO] [stderr]    Compiling time v0.1.34
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling flate2 v0.2.11
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling bzip2 v0.2.3
[INFO] [stderr]    Compiling num v0.1.28
[INFO] [stderr]    Compiling serde v0.6.6
[INFO] [stderr]    Compiling strason v0.3.3
[INFO] [stderr]    Compiling bincode v0.4.0
[INFO] [stderr]    Compiling pay-to-sudoku v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let closure: &mut &mut for<'a> FnMut(&'a [u8], &'a [i8]) = mem::transmute(cb);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> FnMut(&'a [u8], &'a [i8])`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let closure: &mut &mut for<'a> FnMut(&'a [i8], &'a [i8]) = mem::transmute(cb);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> FnMut(&'a [i8], &'a [i8])`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut cb: &mut for<'a> FnMut(&'a [u8], &'a [u8]) = &mut f;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> FnMut(&'a [u8], &'a [u8])`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut cb: &mut for<'a> FnMut(&'a [u8], &'a [u8]) = &mut f;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> FnMut(&'a [u8], &'a [u8])`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]  --> src/ffi.rs:8:28
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc::{size_t, c_char, uint8_t, uint32_t, int32_t, c_void};
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]  --> src/ffi.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc::{size_t, c_char, uint8_t, uint32_t, int32_t, c_void};
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]  --> src/ffi.rs:8:47
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc::{size_t, c_char, uint8_t, uint32_t, int32_t, c_void};
[INFO] [stdout]   |                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/ffi.rs:46:59
[INFO] [stdout]    |
[INFO] [stdout] 46 | extern "C" fn handle_proof_callback(cb: *mut c_void, len: uint32_t, encrypted_solution: *const uint8_t, proof: *const c_char, proof_len: ...
[INFO] [stdout]    |                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:46:96
[INFO] [stdout]    |
[INFO] [stdout] 46 | extern "C" fn handle_proof_callback(cb: *mut c_void, len: uint32_t, encrypted_solution: *const uint8_t, proof: *const c_char, proof_len: ...
[INFO] [stdout]    |                                                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/ffi.rs:46:138
[INFO] [stdout]    |
[INFO] [stdout] 46 | ...ted_solution: *const uint8_t, proof: *const c_char, proof_len: int32_t)//n
[INFO] [stdout]    |                                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]    --> src/ffi.rs:143:78
[INFO] [stdout]     |
[INFO] [stdout] 143 |     unsafe { snark_verify(ctx.keypair, len as u32, &proof[0], proof.len() as int32_t, &h_of_key[0], &encrypted_solution[0]) }
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/ffi.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn gen_keypair(len: uint32_t, h: *mut c_void, cb: extern fn(*mut c_void, *const c_char, size_t, *const c_char, size_t));//n
[INFO] [stdout]    |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/ffi.rs:23:48
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn load_keypair(pk_s: *const c_char, pk_l: int32_t, vk_s: *const c_char, vk_l: int32_t)
[INFO] [stdout]    |                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/ffi.rs:23:84
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn load_keypair(pk_s: *const c_char, pk_l: int32_t, vk_s: *const c_char, vk_l: int32_t)
[INFO] [stdout]    |                                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/ffi.rs:26:45
[INFO] [stdout]    |
[INFO] [stdout] 26 |                  cb: extern fn(*mut c_void, uint32_t, *const uint8_t, *const c_char, int32_t), 
[INFO] [stdout]    |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:26:62
[INFO] [stdout]    |
[INFO] [stdout] 26 |                  cb: extern fn(*mut c_void, uint32_t, *const uint8_t, *const c_char, int32_t), 
[INFO] [stdout]    |                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/ffi.rs:26:86
[INFO] [stdout]    |
[INFO] [stdout] 26 |                  cb: extern fn(*mut c_void, uint32_t, *const uint8_t, *const c_char, int32_t), 
[INFO] [stdout]    |                                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/ffi.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |                  len: uint32_t, solution: *const uint8_t,
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |                  len: uint32_t, solution: *const uint8_t,
[INFO] [stdout]    |                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |                  key: *const uint8_t, h_of_key: *const uint8_t) -> bool;
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:29:56
[INFO] [stdout]    |
[INFO] [stdout] 29 |                  key: *const uint8_t, h_of_key: *const uint8_t) -> bool;
[INFO] [stdout]    |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/ffi.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn decrypt_solution(n: uint32_t, enc: *mut uint8_t, key: *const uint8_t);
[INFO] [stdout]    |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:30:48
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn decrypt_solution(n: uint32_t, enc: *mut uint8_t, key: *const uint8_t);
[INFO] [stdout]    |                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:30:69
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn decrypt_solution(n: uint32_t, enc: *mut uint8_t, key: *const uint8_t);
[INFO] [stdout]    |                                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/ffi.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     len: uint32_t,
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:33:35
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     proof: *const uint8_t,
[INFO] [stdout]    |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int32_t`: Use i32 instead.
[INFO] [stdout]   --> src/ffi.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     proof_len: int32_t,
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:36:38
[INFO] [stdout]    |
[INFO] [stdout] 36 |                     h_of_key: *const uint8_t,
[INFO] [stdout]    |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint8_t`: Use u8 instead.
[INFO] [stdout]   --> src/ffi.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |                     enc_solution: *const uint8_t
[INFO] [stdout]    |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |     fn from(a: bincode::serde::SerializeError) -> ProtoError {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:424:13
[INFO] [stdout]     |
[INFO] [stdout] 424 |     fn from(a: bincode::serde::DeserializeError) -> ProtoError {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dimension`
[INFO] [stdout]   --> src/sudoku.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn new(dimension: usize) -> Possible {
[INFO] [stdout]    |            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dimension`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `undo`
[INFO] [stdout]    --> src/sudoku.rs:218:21
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 let undo = cell.set(candidate);
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_undo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:223:16
[INFO] [stdout]     |
[INFO] [stdout] 223 |               |mut encrypted_solution, proof| {
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sudoku.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut grid = Sudoku::new(n);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sudoku.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut grid = Sudoku::new(n);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `import_and_solve`
[INFO] [stdout]   --> src/sudoku.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn import_and_solve(n: usize, puzzle: &[u8]) -> Option<Vec<u8>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `inject`
[INFO] [stdout]    --> src/sudoku.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn inject(&self, other: &[u8]) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print`
[INFO] [stdout]    --> src/sudoku.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `clearsome`
[INFO] [stdout]    --> src/sudoku.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn clearsome<R: Rng>(&mut self, rng: &mut R) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `prompt`
[INFO] [stdout]   --> src/util.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn prompt<T: whiteread::White>(prompt: &str) -> Option<T> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/sudoku.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         grid.solve(&mut rng);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Keypair`, which is not FFI-safe
[INFO] [stdout]   --> src/ffi.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |         -> *const Keypair;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/ffi.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Keypair;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Keypair`, which is not FFI-safe
[INFO] [stdout]   --> src/ffi.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn gen_proof(keypair: *const Keypair, h: *mut c_void,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/ffi.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Keypair;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Keypair`, which is not FFI-safe
[INFO] [stdout]   --> src/ffi.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn snark_verify(keypair: *const Keypair,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/ffi.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Keypair;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 decoder.finish();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-Wl,--as-needed" "-L" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.pay_to_sudoku.ktufeyna-cgu.9.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6" "/opt/rustwide/target/debug/deps/pay_to_sudoku-cfe7be7f3298ddd6.58ae8dowbzg2is25.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/build/bzip2-sys-bf37a4882bca2069/out" "-L" "/opt/rustwide/target/debug/build/miniz-sys-56fe4a49d30836ae/out" "-L" "/opt/rustwide/target/debug/build/rust-crypto-c569fd7f57f2eebb/out" "-L" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lmysnark" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libbincode-2b90f695bcb7aa7e.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-e9c6acf224545278.rlib" "/opt/rustwide/target/debug/deps/libcrypto-1f0258ed143c0267.rlib" "/opt/rustwide/target/debug/deps/liblibc-d54959e760dfe167.rlib" "/opt/rustwide/target/debug/deps/libtime-3f8f0bdc94703bef.rlib" "/opt/rustwide/target/debug/deps/libstrason-8edb0c2711b4d89d.rlib" "/opt/rustwide/target/debug/deps/libencoding-25ddaa258121371a.rlib" "/opt/rustwide/target/debug/deps/libencoding_index_tradchinese-b3703bc050fd51d8.rlib" "/opt/rustwide/target/debug/deps/libencoding_index_simpchinese-2b17658a3bef67ba.rlib" "/opt/rustwide/target/debug/deps/libencoding_index_japanese-ceb7472a7b596cde.rlib" "/opt/rustwide/target/debug/deps/libencoding_index_korean-f0612366f8303ba0.rlib" "/opt/rustwide/target/debug/deps/libencoding_index_singlebyte-ff06d53920adc896.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-e0d08a82dcb7da7b.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-24036eb8e889985c.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-759d40b5d9a6a451.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-7590543c881e6235.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-56b60793e4f96438.rlib" "/opt/rustwide/target/debug/deps/libflate2-efe617621f9a9e49.rlib" "/opt/rustwide/target/debug/deps/libminiz_sys-89f3bd5f33a79b1b.rlib" "/opt/rustwide/target/debug/deps/libclap-54e6077028b4d7d0.rlib" "/opt/rustwide/target/debug/deps/libvec_map-6ca2ab92fd8f89b6.rlib" "/opt/rustwide/target/debug/deps/libtextwrap-72726d2ca165c499.rlib" "/opt/rustwide/target/debug/deps/libunicode_width-9ab5865733e9acc9.rlib" "/opt/rustwide/target/debug/deps/libstrsim-66e58bd8aecd9c6e.rlib" "/opt/rustwide/target/debug/deps/libbitflags-7f78c1de5599d643.rlib" "/opt/rustwide/target/debug/deps/libatty-80b3028c37ac94f5.rlib" "/opt/rustwide/target/debug/deps/libansi_term-b7c7e94976e9eae7.rlib" "/opt/rustwide/target/debug/deps/libserde-62e4ad8de672c64b.rlib" "/opt/rustwide/target/debug/deps/libnum-163c30fe40d5166a.rlib" "/opt/rustwide/target/debug/deps/librustc_serialize-3a45b7a0cb68c0b0.rlib" "/opt/rustwide/target/debug/deps/libhex-d9eb0af5bb1f13c1.rlib" "/opt/rustwide/target/debug/deps/libthread_scoped-5e9d3e08b873f98e.rlib" "/opt/rustwide/target/debug/deps/librand-9b3099f1b7887058.rlib" "/opt/rustwide/target/debug/deps/liblibc-1de83e5becf9c746.rlib" "/opt/rustwide/target/debug/deps/libwhiteread-7195306dbac67234.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c6dddd3d354e6bea.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-c2ca47afdcc5e309.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-b47be2942017e108.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-20a1e49116ab0df9.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-25e09d9868291683.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-9c99fb6e5ca5159e.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-85040d7563599960.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0e4f7587da8acf20.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7be0a6711ed15b5c.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-00672fabc4ff9c9d.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-72fe231ef0473d15.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-019d54ecc304b655.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-cc7d9343e4f608be.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-e41c6d24baeb2249.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9849bb0fbad7f0f5.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-a1fd7734706d5518.rlib" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-c8ded1707ad10767.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/ff34b919075f35a1787659e9c448a34b06bab8de/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-8b33f9cbbc9652fe.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lutil" "-ldl" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc"
[INFO] [stdout]   = note: /usr/bin/ld: cannot find -lmysnark
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pay-to-sudoku`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "f948f9720f8600dd00afd916b91c7ed135a963f646b07e1d97c60af99325bb65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f948f9720f8600dd00afd916b91c7ed135a963f646b07e1d97c60af99325bb65", kill_on_drop: false }`
[INFO] [stdout] f948f9720f8600dd00afd916b91c7ed135a963f646b07e1d97c60af99325bb65
